/**
 * Created by xiangyufang on 2016/12/14.
 */
;(function ($, window, document, undefined) {

    var $group = $('#JQ_group').select3();
    DyyBase.ajax(sysApi.url_settings_valve_group(), {}, function(dataSet){
        if(dataSet.bool){
            var json = [];
            if(dataSet.result.length>0){
                for(var i=0;i<dataSet.result.length;i++){
                    var obj = {id:dataSet.result[i].majorCode,mile:dataSet.result[i].majorCode,text:dataSet.result[i].shortName}
                    json.push(obj);
                }
            }
            $group.add(json);
        }
    });
    //角色名称
    var $name = $('#JQ_name');
    //角色编号
    var $number = $('#JQ_number');
    //表格
    var $table = $('#JQ_table');
    var DTTABLE;
    $table.checkbox3();


    /***新建编辑*/
    //编辑Id
    var $ne_id = $('#JQ_ne_id');
    //名称
    var $ne_name = $('#JQ_ne_name');
    //组名
    var $ne_group = $('#JQ_ne_group');
    //组编号
    var $ne_groupNumber = $('#JQ_ne_groupNumber');
    //状态
    var $ne_state = $('#JQ_ne_state');
    //编号
    var $ne_number = $('#JQ_ne_number');
    //排序号
    var $ne_sort = $('#JQ_ne_sort');
    //计量单位
    var $ne_unit = $('#JQ_ne_unit');
    //最大值
    var $ne_max = $('#JQ_ne_max');
    //最小值
    var $ne_min = $('#JQ_ne_min');
    //备注
    var $ne_remark = $('#JQ_ne_remark');
    //新建框
    var $action_form = $('#JQ_action_form');
    /***新建编辑*/


    //条件
    var filter = {
        //表格查询
        getSearch: function (data) {
            var filter = {};
            // 分页参数
            if (data) {
                if (data.start == 0) {
                    filter['jsonBean.pageNum'] = 1;
                } else {
                    filter['jsonBean.pageNum'] = data.start / 10 + 1;
                }
                filter['jsonBean.pageCount'] = data.length;
            }
            // 名称查询参数
            filter.groupCode = function () {
                var v = $group.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            // 名称查询参数
            filter.name = function () {
                var v = $name.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            // 编号查询参数
            filter.code = function () {
                var v = $number.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            return filter;
        },

        //新建&编辑
        getNewEdit: function () {
            var filter = {};
            // id
            filter.id = function () {
                var v = $ne_id.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            // 最大值
            filter.maxVal = function () {
                var v = $ne_max.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            // 编号
            filter.minVal = function () {
                var v = $ne_min.val();
                if (v) {
                    return v;
                }
                return "";
            }();
            // 备注
            filter.createRemark = function () {
                var v = $ne_remark.val();
                if (v) {
                    return v;
                }
                return "";
            }();

            return filter;
        }
    };


    DTTABLE = $table.DataTable({
        'language': {
            'paginate': {
                'next': '下一页',
                'previous': '上一页'
            },
            'info': '本次检索共 _TOTAL_ 条，每页显示 10 条，共 _PAGES_ 页',
            'zeroRecords': DyyBase.table_empty(),
            'infoEmpty': ''
        },
        'autoWidth': false,
        'order': [],
        'serverSide': true,
        'pageLength': 10,
        'ordering': false,
        'processing': false,
        'searching': false,
        'lengthChange': false,
        'ajax': function (data, callback) {
            var param = filter.getSearch(data);
            DyyBase.ajax(sysApi.url_settings_valve_query(), param, function(dataSet) {
                if(dataSet.bool){
                    var returnData = {};
                    returnData.draw = data.draw;
                    returnData.recordsTotal = dataSet.result.total;
                    returnData.recordsFiltered = dataSet.result.total;
                    returnData.data = DyyBase.clearNull(dataSet.result.list);
                    callback(returnData);
                }
            });
        },
        'columns': [
            {
                data: 'minorCode',
                render: function (data) {
                    return '<span title="' + data + '">' + data + '</span>';
                }
            },
            {
                data: 'shortName',
                render: function (data) {
                    return '<span title="' + data + '">' + data + '</span>';
                }
            },
            {
                data: 'maxVal',
                render: function (data) {
                    return '<span title="' + data + '">' + data + '</span>';
                }
            },
            {
                data: 'minVal',
                render: function (data) {
                    return '<span title="' + data + '">' + data + '</span>';
                }
            },
            {
                data: 'unit',
                render: function (data) {
                    return '<span title="' + data + '">' + data + '</span>';
                }
            },
            {
                data: 'id',
                render: function (data) {
                    return '<i data-id="'+data+'" class="zy-record-add-icon" title="编辑"></i>';
                }
            }
        ]
    });

    //查询
    $('#JQ_search').click(function(){
        if(DTTABLE){
            DTTABLE.draw();
        }
    });


    // 新建
    $('#JQ_role_create').click(function(){
        $(this).WIND({
            width: 750,
            height: 480,
            title: '新建',
            actionBox: 'div#JQ_ne_div',
            yesBtnAct: actionRole,
            resetForm: $action_form
        });
    });
    // 编辑
    $table.delegate('i.zy-record-add-icon','click',function(){
        var $this = $(this);
        var $tr = $this.parent('td').parent('tr');
        var data = DTTABLE.row($tr).data();
        if(data){
            // 填充数据
            $ne_id.val(data.id);

            $ne_name.attr('disabled','true');
            $ne_group.attr('disabled','true');
            $ne_groupNumber.attr('disabled','true');
            $ne_state.attr('disabled','true');
            $ne_number.attr('disabled','true');
            $ne_sort.attr('disabled','true');
            $ne_unit.attr('disabled','true');

            $ne_name.val(data.shortName);
            $ne_group.val(data.marjorName);
            $ne_groupNumber.val(data.majorCode);
            $ne_state.val(data.state);
            $ne_number.val(data.minorCode);
            $ne_sort.val(data.sort);
            $ne_unit.val(data.unit);

            $ne_name.attr('title',data.shortName);
            $ne_group.attr('title',data.marjorName);
            $ne_groupNumber.attr('title',data.majorCode);
            $ne_state.attr('title',data.state);
            $ne_number.attr('title',data.minorCode);
            $ne_sort.attr('title',data.sort);
            $ne_unit.attr('title',data.unit);

            $ne_max.val(data.maxVal);
            $ne_min.val(data.minVal);
            $ne_remark.val(data.createRemark);

            var wind = $this.WIND({
                width: 750,
                height: 480,
                title: '编辑',
                actionBox: 'div#JQ_ne_div',
                yesBtnAct: function(){
                    actionRole(wind.clear,data);
                },
                noBtnAct: function(){
                    $action_form.reset();
                    wind.clear();
                },
                closeBtnAct: function(){
                    $action_form.reset();
                    wind.clear();
                }
            });
        }
    });

    // 新建 / 编辑
    function actionRole(callback,data){
        var verify = $action_form.verify(), title = '';
        if(verify === true){
            if(data){
                title = '编辑';
            }else{
                title = '新建';
            }
            var param = filter.getNewEdit();
            if(callback instanceof Function){
                callback();
            }
            DyyBase.ajax(sysApi.url_settings_valve_new(),param,function(dataSet){
                if(dataSet.bool){
                    $(this).MSG({
                        type: 'success',
                        content: title+'成功!',
                        yesBtnAct: function(){
                            if(DTTABLE){
                                DTTABLE.draw();
                            }
                        },
                        closeBtnAct: function(){
                            if(DTTABLE){
                                DTTABLE.draw();
                            }
                        }
                    });
                    $action_form.reset();
                }
            })
        }
    }

})(jQuery, window, document);